package com.kang.dao;

import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.kang.pojo.ShopItem;
import com.vonechina.entity.page.ItemPage;

/**
 * 店仓可销售物品持久层
 * 
 * @author zs614
 *
 */
public interface ShopItemMapper {
	/**
	 * 根据店仓ID查询可销售物品
	 * 
	 * @param shopid
	 *            店仓ID
	 * @return
	 */
	List<ShopItem> listShopItem(Integer shopid);

	/**
	 * 根据ID删除店仓可销售物品
	 * 
	 * @param id
	 *            店仓可销售物品ID
	 * @return
	 */
	int deleteByPrimaryKey(Integer id);

	/**
	 * 插入店仓可销售物品
	 * 
	 * @param record
	 *            店仓可销售物品实体类
	 * @return
	 */
	int insert(ShopItem record);

	/**
	 * 插入店仓可销售物品
	 * 
	 * @param record
	 *            店仓可销售物品实体类
	 * @return
	 */
	int insertSelective(ShopItem record);

	/**
	 * 通过ID查找店仓可销售物品
	 * 
	 * @param id
	 *            店仓可销售物品ID
	 * @return
	 */
	ShopItem selectByPrimaryKey(Integer id);

	/**
	 * 更新店仓可销售物品
	 * 
	 * @param record
	 *            店仓可销售物品实体类
	 * @return
	 */
	int updateByPrimaryKeySelective(ShopItem record);

	/**
	 * 更新店仓可销售物品
	 * 
	 * @param record
	 *            店仓可销售物品实体类
	 * @return
	 */
	int updateByPrimaryKey(ShopItem record);

	/**
	 * 查询店仓可销售物品
	 * 
	 * @param id
	 *            店仓可销售物品实体类
	 * @return
	 */
	ShopItem selectShopItem(ShopItem id);

	/**
	 * 查询店仓可新增销售物品
	 * 
	 * @param page
	 *            搜索条件实体类
	 * @return
	 */
	List<ShopItem> selectNotAddItem(ItemPage page);

	/**
	 * 查询店仓可新增销售物品数量
	 * 
	 * @param page
	 *            搜索条件实体类
	 * @return
	 */
	int selectNotAddItemNum(ItemPage page);

	/**
	 * 根据店仓ID删除不在来源内的物品
	 * 
	 * @param shopid
	 *            店仓ID
	 * @param itemIds
	 *            物品来源ID
	 * @return
	 */
	int deleteShopItem(@Param("shopid") Integer shopid, @Param("itemIds") Integer[] itemIds);

}